// ActionScript file
import flash.display.NativeWindow;
import flash.geom.Rectangle;


/**
 * プロジェクト一覧を表示
 */
private function show_projects(array:Array):void
{
    project_list.dataProvider = array;
}

/**
 * プロジェクト一覧を取得して表示する
 */
private function loadProjects():void
{
    moveToRight();
    _projects.connect(_databaseFile);
    show_projects(_projects.loadProjects());
}

/**
 * アプリケーションの表示位置を右端に移動
 */
private function moveToRight():void
{
    var nw:NativeWindow = this.stage.nativeWindow;
    var _x:int = (Screen.mainScreen.visibleBounds.width) - 400;
    var _y:int = (Screen.mainScreen.visibleBounds.height) - 580;
    
    nw.x = _x;
    nw.y = _y;
}

/**
 * プロジェクト一覧のダブルクリック時アクション．
 * イベントアイテムを取得してそのIDを元にタスク一覧画面に遷移．
 */
private function projectsDoubleClickRow(event:ListEvent):void
{
    var rowIndex:int  = event.rowIndex ;
    var prov:Object   = project_list.dataProvider;
    var data:Object   = prov[rowIndex];
    _currentProjectId = data.id
    _cur_project      = _projects.loadProject(_currentProjectId);
    
    viewstack1.selectedChild = wbsCanvas;
}

/**
 * プロジェクト一覧画面への遷移処理
 */
private function showProjectCanvas():void
{
    if (wbs_list) {
        wbs_list.dataProvider = new Array();
    }
    viewstack1.selectedChild = projectsCanvas;
}

/**
 * プロジェクトに参加中のユーザ名を","区切りのテキストにして返却
 */
public function showProjectUsers(project:Object):String
{
    var user_names:String = '';
    var users:Array = project.users;
    for (var i:int=0; i<users.length; i++) {
        var user:Object = users[i];
        user_names += ((i==0) ? '' : ', ') + user.user_name;
    }
    return user_names;
}

